package com.fjwt.gz.util;

import cn.hutool.core.date.DateUtil;
import com.fjwt.gz.core.constants.Constants;
import com.fjwt.gz.core.exception.BizException;

import java.util.Date;

/**
 *
 * @Author: Will
 * @Date: 2024-03-04
 * @Version: 1.0
 */
public class PeriodUtil {

    /**
     * 获取周期数, (0不限制， 1限每日，2限每周，3限每月，4年)
     */
    public static int getPeriod(int periodType) {
        return getPeriod(periodType,DateUtil.date());
    }

    /**
     * 获取周期数, (0不限制， 1限每日，2限每周，3限每月，4年)
     */
    public static int getPeriod(int periodType, Date targetDate) {
        int period;

        Date date = targetDate;
        switch (periodType) {
            case  Constants.PERIOD.DAY:
                period = DateUtil.dayOfYear(date);
                break;
            case Constants.PERIOD.WEEK:
                period = DateUtil.weekOfYear(date);
                break;
            case Constants.PERIOD.MONTH:
                period = DateUtil.month(date);
                break;
            case Constants.PERIOD.YEAR:
                period = DateUtil.year(date);
                break;
            default:
                throw new BizException("非法周期性类型");
        }
        return period;
    }
}
